Data files, such as but not limited to pictures, documents, spreadsheets, videos, sound recordings, presentations, scans, etc., are important to businesses, governments, and individuals. These data files are often stored on personal computers, laptops, small (local) servers, or other similar devices. Lightning, fire, flood, theft, a hard drive error or failure, or other unfortunate event can, however, result in the loss of some or all of the data.
To provide for recovery of data in the event that it is no longer available from the various types of devices mentioned above, it is not uncommon for the data to be backed up on different storage media, or on another computing system. A single media or computing system may, however, suffer undetected failure or damage so that the backup copy is not available just when it is needed. One approach to provide for redundancy in storage of the data files is to place a copy of a data file on multiple different storage media and/or multiple data storage servers. This, however, can be expensive as the total storage space required is the size of the original data file multiplied by the number of devices on which the file is stored.
Another approach is to use erasure-encoding, which can reduce the size of the storage space required for reliable storage of a file when compared to the space required for storing a complete copy of the data file on multiple servers. Erasure-coding generates a mathematical construct of n fragments for a data file. Not all n fragments are required, however, in order to reconstruct the original data file. For example, in an m-of-n erasure-coding technique, erasure-encoding a data file produces n erasure-encoded fragments. When reconstruction of the data file is desired, only m non-identical, non-overlapping fragments are required to accurately construct the original data file.
Some users have data files that contain proprietary information, and there could be serious financial or other consequences if those data files were inadvertently released to the public. To avoid this problem, the data in such files is typically encrypted. The encryption process, however, may hinder or prevent combining fragments to recover the original data file.